The basic operation and structure of land mobile radio communication systems and cellular radio/telephone communication systems (communication systems) are known. Communication systems typically comprise a plurality of communication units (vehicle mounted or portable radios in a land mobile system and radio/telephones in a cellular system), a predetermined number of repeaters that transceive information via communication channels, and a controlling entity. The controlling entity may either be a centralized call processing controller or a network of distributed controllers working together to establish communication paths for the communication units.
During normal operations, communication units often utilize various communication services or features to communicate with one another. To access these services, the unit transmits a unique ID and a service request to the controller. Upon receiving the request, the controller verifies that the unique ID is valid and that this unit is allowed to access the service requested. If both inquiries are answered favorably, the unit is granted access to the service such that it may communicate with other units. A few of the services that a communication unit may access include a group dispatch call, a private call, a secure voice feature, and telephone interconnect.
What service a communication unit can access is determined by the customer when the unit is purchased. For example, if the customer wants a regular unit (one that provides only group dispatch calls), the manufacturer programs the unit with system access information that only allows the unit to participate in group dispatch calls. If, on the other hand, the customer wants an enhanced unit (one that provides group dispatch and at least one other service), the manufacturer programs the unit with system access information that allows the unit to access the services selected. The manufacturer can program regular and enhanced units in a variety of ways. For example, regular and enhanced communication units may contain a complete set of software applications where code plugs are used to enable the appropriate software applications. As another example, an external programming device may be used to load or enable the appropriate software applications in to the units. For instance, many communication products made by Motorola utilize Radio Service Software (RSS) to enable the appropriate software.
As would be expected, the more services a unit can access, the more costly the unit. Thus, when a regular unit is upgraded to an enhanced unit by illicit means, the manufacturer is injured. Manufacturers do attempt to limit the injury by utilizing the programming methods described above (code plugs and RSS) but, unfortunately, these techniques can be overcome by less than scrupulous communication unit users. For example, the less than scrupulous user may copy the non-volatile memory of an enhanced communication unit and place it in a regular unit or, via reverse engineered external programming equipment, reprogram regular units with additional services. As another example, the less than scrupulous user may take parts of damaged or scrapped units, tear them apart, and reconstruct an enhanced unit.
To further limit the potential for injury, manufacturers construct their communication systems to include means that deny improperly programmed communication units access to the system. To implement this, the system contains a data base of system access information for each unit, where the system access information includes unit identifiers and indications of the services each unit may access. Unfortunately, the communication system cannot determine whether a communication unit received its valid system access information through proper means or through illicit means. Thus, units with valid, but illicitly obtained, system access information are treated the same as authorized units, which can overburden the system. Therefore a need exists for a method that detects when a communication unit has a valid, but illicitly obtained, system access information and corrects the system access information when such an occurrence is detected .